﻿using Microsoft.Data.Sqlite;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Connection_ConsoleApp
{
    //Data Source=filename;Version=3;Password=myPassword;

    /*
        如果发生  使用SQLite 无法加载 DLL“SQLite.Interop.dll 找不到指定的模块 错误。
        需要把生成目录下的runtimes 文件夹下对应的 32位平台或者64位平台上的e_sqlite3.dll动态库 考到根目录下
        示例中用的是64位的
     */
    class Program
    {
        static void Main(string[] args)
        {
            string dataPath = "text.db";
            string connectionStr = $"Datasource={dataPath};Version=3;";
            if (!File.Exists(dataPath))
            {
                var stream = File.Create(dataPath);
                stream.Close();
                stream.Dispose();
            }
            //1 创建连接对象
            SqliteConnection connection = new SqliteConnection(connectionStr);
            //2 打开数据库连接
            connection.Open();
            //3 判断数据库是否打开
            string showResult = string.Empty;
            if (connection.State == System.Data.ConnectionState.Open)
            {
                showResult = "已经打开sqlite数据库";
            }
            else
            {
                showResult = "打开数据失败!";
            }
            Console.WriteLine(showResult);
            //4 关闭数据库
            connection?.Close();
            Console.WriteLine("sqlite数据库关闭！");

            Console.ReadKey();
        }
    }
}
